Fast Scroll for //e 80-column..............Bob Sander-Cederlof

The //e 80-column firmware scrolls in an annoying fashion.  If you are trying to watch a listing go by, it looks like a bunch of kids on the playground, jumping up and down.  And it is slower than almost any brand of 80-column card that plugs into slot 3.

The "slot 3" kind of 80-column card usually has a general purpose CRT controller chip on it.  These chips use a wrap-around memory, and have one register that tells the chip where in memory to start the screen display.  Scrolling is instantaneous, because it only involves writing a new address into two registers.

The //e 80-column card has no built-in features at all.  All it is, is plain old RAM.  A few extra circuits allow alternate columns to be taken first from the mother board and then from the 80-column card, back and forth.  And the video rate is doubled, so 80 columns appear on each line.  The scroll routine moves the whole screen up in two steps.  First all the odd columns (in main memory) are moved up, and then all the even columns (in 80-column card memory).  That is why you see the zig-zag effect.

The scroll is slower than a 40-column scroll by a factor of two.  After all, it is essentially the same code, just called twice.

As I said in my article on fast scrolling in the September 1982 issue of AAL, you have to bear in mind that the authors of the programs in Apple ROM were not usually aiming for speed.  They were trying to squeeze as much as possible into that tiny space, and make it as general as they could.  The //e 80-column firmware supports windows smaller than a full screen, and that is seldom found in other types of 80-column cards.

On the other hand, since I am used to not having nice windows in the other cards, I can live with that in the //e.  And I am having a hard time adjusting to that see-saw slow-motion scroller.

I re-wrote all the fast screen tricks from the September 1982 article to work in the //e with the Apple 80-column card.  It scrolls as smooth as glass, but I still can't read it:  now it's too fast!
